package com.fr.report.core;

import com.fr.base.FCloneable;
import com.fr.report.FineBook;
import com.fr.report.ReportHF;
import com.fr.report.ReportPageAttr;
import com.fr.report.ReportSettings;
import com.fr.report.ResultReport;
import com.fr.report.ResultWorkBook;
import com.fr.report.TemplateReport;

public abstract class ActiveReport
  implements ResultReport
{
  protected TemplateReport packee;
  protected ResultWorkBook workbook;

  public ActiveReport(TemplateReport paramTemplateReport)
  {
    this.packee = paramTemplateReport;
  }

  public TemplateReport getPackee()
  {
    return this.packee;
  }

  public ReportHF getFooter(int paramInt)
  {
    return this.packee.getFooter(paramInt);
  }

  public ReportHF getHeader(int paramInt)
  {
    return this.packee.getHeader(paramInt);
  }

  public ReportPageAttr getReportPageAttr()
  {
    return this.packee.getReportPageAttr();
  }

  public ReportSettings getReportSettings()
  {
    return this.packee.getReportSettings();
  }

  public int getRowHeight(int paramInt)
  {
    return this.packee.getRowHeight(paramInt);
  }

  public int getColumnWidth(int paramInt)
  {
    return this.packee.getColumnWidth(paramInt);
  }

  public FineBook getBook()
  {
    return this.workbook;
  }

  public ResultWorkBook getResultWorkBook()
  {
    return this.workbook;
  }

  public void setFooter(int paramInt, ReportHF paramReportHF)
  {
    this.packee.setFooter(paramInt, paramReportHF);
  }

  public void setHeader(int paramInt, ReportHF paramReportHF)
  {
    this.packee.setHeader(paramInt, paramReportHF);
  }

  public void setReportPageAttr(ReportPageAttr paramReportPageAttr)
  {
    this.packee.setReportPageAttr(paramReportPageAttr);
  }

  public void setReportSettings(ReportSettings paramReportSettings)
  {
    this.packee.setReportSettings(paramReportSettings);
  }

  public void setRowHeight(int paramInt1, int paramInt2)
  {
    this.packee.setRowHeight(paramInt1, paramInt2);
  }

  public void setColumnWidth(int paramInt1, int paramInt2)
  {
    this.packee.setColumnWidth(paramInt1, paramInt2);
  }

  public void setResultWorkBook(ResultWorkBook paramResultWorkBook)
  {
    this.workbook = paramResultWorkBook;
  }

  public Object clone()
    throws CloneNotSupportedException
  {
    ActiveReport localActiveReport = (ActiveReport)super.clone();
    if (this.packee != null)
      localActiveReport.packee = ((TemplateReport)this.packee.clone());
    return localActiveReport;
  }
}